<?php
class venda{
	private $id;
        //private $id_venda;
	private $id_empresa;
        private $id_vendedor;
	private $data;
	private $hora;
	private $id_cliente;
	private $id_parcelado;
	private $total;
	private $formapagamento;
	private $desconto;
	private $observacoes;
        private $dt_estorno;
        private $comanda;

	public function __construct(){
		$this->id = NULL;
                //$this->id_venda = NULL;
		$this->id_empresa = NULL;
                $this->id_vendedor = NULL;
		$this->data = NULL;
		$this->hora = NULL;
		$this->id_cliente = NULL;
		$this->id_parcelado = NULL;
		$this->total = 0;
		$this->formapagamento = NULL;
		$this->desconto = 0;
		$this->observacoes = NULL;
                $this->dt_estorno = "0000-00-00 00:00:00";
                $this->comanda = 0;
	}

	public function get_id(){
		return $this->id;
	}
        /*
        public function get_id_venda(){
		return $this->id_venda;
	}
        */
	public function get_id_empresa(){
		return $this->id_empresa;
	}
        public function get_id_vendedor(){
		return $this->id_vendedor;
	}
	public function get_data(){
            if($this->data != ''){
                $dia = substr($this->data, 8, 2);
                $mes = substr($this->data, 5, 2);
                $ano = substr($this->data, 0, 4);
		return $dia."/".$mes."/".$ano;
            }else{
                return '';
            }
	}
	public function get_hora(){
		return $this->hora;
	}
	public function get_id_cliente(){
		return $this->id_cliente;
	}
	public function get_id_parcelado(){
		return $this->id_parcelado;
	}
	public function get_total(){
		return add_0($this->total);
	}
	public function get_formapagamento(){
		return $this->formapagamento;
	}
	public function get_desconto(){
		return $this->desconto;
	}
	public function get_observacoes(){
		return $this->observacoes;
	}
        public function get_dt_estorno(){
		return $this->dt_estorno;
	}
        public function get_comanda(){
		return $this->comanda;
	}
	
	
	public function set_id($id){
		if(valida::numero($id)){
                    $this->id = $id;
                    return 1;
		}else{
                    return 0;
                }
        }
        /*
        public function set_id_venda($id){
		if($id != '' && valida::numero($id)){
                    $this->id_venda = $id;
                    return 1;
		}else{
                    return 0;
                }
        }
        */

	public function set_id_empresa($id_empresa){
		if($id_empresa != '' && valida::numero($id_empresa)){
                    $this->id_empresa = $id_empresa;
                    return 1;
		}else{
                    return 0;
                }
        }
        
        public function set_id_vendedor($id_vendedor){
		if($id_vendedor != '' && valida::numero($id_vendedor)){
                    $this->id_vendedor = $id_vendedor;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_data($data){
            $dia = substr($data, 8, 2);
            $mes = substr($data, 5, 2);
            $ano = substr($data, 0, 4);

            if(!valida::numero($dia)){return 0;}
            if(!valida::numero($mes)){return 0;}
            if(!valida::numero($ano)){return 0;}

            if($data != '' && valida::data($dia, $mes, $ano)){
                $this->data = $data;
                return 1;
            }else{
                return 0;
            }
        }

	public function set_hora($hora){
                $hora = addslashes($hora);
		if($hora != ''){
                    $this->hora = $hora;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_id_cliente($id_cliente){
		if($id_cliente != '' && valida::numero($id_cliente)){
                    $this->id_cliente = $id_cliente;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_id_parcelado($id_parcelado){
		if(valida::numero($id_parcelado)){
                    $this->id_parcelado = $id_parcelado;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_total($total){
		if($total != '' && valida::float($total)){
                    $this->total = $total;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_formapagamento($formapagamento){
		if($formapagamento != '' && valida::numero($formapagamento)){
                    $this->formapagamento = $formapagamento;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_desconto($desconto){
		if(valida::float($desconto)){
                    $this->desconto = $desconto;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_observacoes($observacoes){
                $observacoes = addslashes($observacoes);
                $this->observacoes = $observacoes;
                return 1;
        }
        
        public function set_dt_estorno($dt_estorno){
                if(valida::data_hora($dt_estorno)){
                    $this->dt_estorno = $dt_estorno;
                    return 1;
                }else{
                    return 0;
                }
        }
        
        public function set_comanda($comanda){
                if($comanda == 1 || $comanda == 0){
                    $this->comanda = $comanda;
                    return 1;
                }else{
                    return 0;
                }
        }
        
        public function getIdVenda(){
            
            $db = new db(config::$driver);
            $con = $db->conecta();
            $res = $db->query($sql, $con);
            $db->close($con);

            $id = $db->fetch_array($res);
            
            if($id[0] == ''){
                $id_venda = 0;
            }else{
                $id_venda = $id[0];
            }
            
            $id_venda++;
            return $id_venda;
        }

	
	
	
        public function salvar(){
                $id = NULL;
                $db = new db(config::$driver);
 		$con = $db->conecta();
                /*
		$sql_id_venda = "select max(id_venda) from sgm_venda where id_empresa = '".$_SESSION["sgm_id_empresa"]."'";
		
                $res_id = $db->query($sql_id_venda, $con);
                $id_q = $db->fetch_array($res_id);
                
                if($id_q[0] == '' || $id_q[0] == 0){
                    $this->id_venda = 1;
                }else{
                    $this->id_venda = $id_q[0] + 1;
                }
                */
                if($this->id){
                    //$sql = "update sgm_venda set id_venda = '".$this->id_venda."', id_empresa = '".$this->id_empresa."', id_vendedor = '".$this->id_vendedor."', data = '".$this->data."', hora = '".$this->hora."', id_cliente = '".$this->id_cliente."', id_parcelado = '".$this->id_parcelado."', total = '".$this->total."', formapagamento = '".$this->formapagamento."', desconto = '".$this->desconto."', observacoes = '".$this->observacoes."', dt_estorno = '".$this->dt_estorno."', comanda = '".$this->comanda."' where id = '$this->id'";
                    $sql = "update sgm_venda set id_empresa = '".$this->id_empresa."', id_vendedor = '".$this->id_vendedor."', data = '".$this->data."', hora = '".$this->hora."', id_cliente = '".$this->id_cliente."', id_parcelado = '".$this->id_parcelado."', total = '".$this->total."', formapagamento = '".$this->formapagamento."', desconto = '".$this->desconto."', observacoes = '".$this->observacoes."', dt_estorno = '".$this->dt_estorno."', comanda = '".$this->comanda."' where id = '$this->id'";
                }else{
                    //$sql = "insert into sgm_venda(id, id_venda, id_empresa, id_vendedor, data, hora, id_cliente, id_parcelado, total, formapagamento, desconto, observacoes, dt_estorno, comanda) values('".$this->id."', '".$this->id_venda."', '".$this->id_empresa."', '".$this->id_vendedor."', '".$this->data."', '".$this->hora."', '".$this->id_cliente."', '".$this->id_parcelado."', '".$this->total."', '".$this->formapagamento."', '".$this->desconto."', '".$this->observacoes."', '".$this->dt_estorno."', '".$this->comanda."')";
                    $sql = "insert into sgm_venda(id, id_empresa, id_vendedor, data, hora, id_cliente, id_parcelado, total, formapagamento, desconto, observacoes, dt_estorno, comanda) values('".$this->id."', '".$this->id_empresa."', '".$this->id_vendedor."', '".$this->data."', '".$this->hora."', '".$this->id_cliente."', '".$this->id_parcelado."', '".$this->total."', '".$this->formapagamento."', '".$this->desconto."', '".$this->observacoes."', '".$this->dt_estorno."', '".$this->comanda."')";
                }
                
                $texto = $sql;
		if($db->query($sql, $con)){
                    if($this->id == NULL){
                        $sql = "select max(id) from sgm_venda where id_empresa = '".$this->id_empresa."'";
                        $res = $db->query($sql, $con);
                        $rid = $db->fetch_array($res);
                        $id = $rid[0];
                    }else{
                        $id = $this->id;
                    }
                }
                
		$db->close($con);
                
                if($this->id != NULL){
                    $texto = "Alterar";
                }else{
                    $texto = "Inserir";
                }
                if($this->comanda){
                    $cmd = "Sim";
                }else{
                    $cmd = "Não";
                }
                $texto .= " Venda: ID = '".$this->id."', ID da venda = '".$this->id_venda."', ID do vendedor = '".$this->id_vendedor."', Data = '".$this->data."', Hora = '".$this->hora."', ID do cliente = '".$this->id_cliente."', ID parcelado = '".$this->id_parcelado."', Total = '".$this->total."', Forma de pagamento = '".$this->formapagamento."', Desconto = '".$this->desconto."', Observações = '".$this->observacoes."', Data de estorno = '".$this->dt_estorno."', Comanda = '".$cmd."' ";
                $log = new log($_SESSION["sgm_id_empresa"], $_SESSION["sgm_usuario"], $texto);
                unset($log);
                
		return $id;
	}
        
	public function carregar($id){
		$sql = "select * from sgm_venda where id = '$id'";

		$db = new db(config::$driver);
 		$con = $db->conecta();
		$res = $db->query($sql, $con);
		$db->close($con);

		$sgm_venda = $db->fetch_array($res);

		$this->id             = $sgm_venda["id"];
                //$this->id_venda       = $sgm_venda["id_venda"];
		$this->id_empresa     = $sgm_venda["id_empresa"];
                $this->id_vendedor    = $sgm_venda["id_vendedor"];
		$this->data           = $sgm_venda["data"];
		$this->hora           = $sgm_venda["hora"];
		$this->id_cliente     = $sgm_venda["id_cliente"];
		$this->id_parcelado   = $sgm_venda["id_parcelado"];
		$this->total          = $sgm_venda["total"];
		$this->formapagamento = $sgm_venda["formapagamento"];
		$this->desconto       = $sgm_venda["desconto"];
		$this->observacoes    = $sgm_venda["observacoes"];
                $this->dt_estorno     = $sgm_venda["dt_estorno"];
                $this->comanda        = $sgm_venda["comanda"];
		
		return 1;
	}
}
